% Unbound-BU.tex
\begin{hcarentry}{Unbound}
\report{Brent Yorgey}%05/12
\status{actively maintained}
\participants{Stephanie Weirich, Tim Sheard}
\makeheader

Unbound is a domain-specific language and library for working with
binding structure.  Implemented on top of the RepLib generic
programming framework, it automatically provides operations such as
alpha equivalence, capture-avoiding substitution, and free variable
calculation for user-defined data types (including GADTs), requiring
only a tiny bit of boilerplate on the part of the user.  It features a
simple yet rich combinator language for binding specifications,
including support for pattern binding, type annotations, recursive
binding, nested binding, set-like (unordered) binders, and multiple
atom types.

\FurtherReading
\begin{compactitem}
\item \url{http://byorgey.wordpress.com/2011/08/24/unbound-now-supports-set-binders-and-gadts/}
\item \url{http://byorgey.wordpress.com/2011/03/28/binders-unbound/}
\item \url{http://hackage.haskell.org/package/unbound}
\item \url{http://code.google.com/p/replib/}
\end{compactitem}
\end{hcarentry}
